When two wireless communication devices, such as a base station and a user equipment, engage in a reliable wireless communication session, the communication devices implement an exchange of acknowledgements (ACKs) and/or negative acknowledgements (NACKs) at various protocol layers, such as between Hybrid Automatic Repeat reQuest (HARM) functionalities at a Physical Layer, Radio Link Control (RLC) functionalities at a Link Layer, and Transmission Control Protocol (TCP) functionalities at a Network Layer. The acknowledgements and negative acknowledgements are intended to inform, by a communication device receiving a wireless data transmission, the corresponding peer of a transmitting communication device of correctly received data and to request, from the corresponding peer, retransmissions of incorrectly received data, thereby assuring that data is correctly received at a given layer before the received data is passed to a higher layer at the receiving communication device.
The standards provide that TCP acknowledgments of TCP data, exchanged between peer TCP sublayers, are accorded Best Effort (BE) scheduling priority. Best Effort priority is a lower scheduling priority than Guaranteed Bit Rate (GBR) applications, that is, Best Effort data is queued behind data of GBR applications, and further competes with other Best Effort priority data for scheduling over the available bandwidth. For example, on an uplink, TCP acknowledgments typically are scheduled after Best Effort user data. This can result in a delay of conveyance, by a receiving communication device, of a TCP acknowledgment. In turn, delay of TCP acknowledgments can result in spurious timeouts at a TCP sender and reduced system throughput. That is, a TCP sender, of a transmitting communication device, defers transmitting remaining, not yet transmitted, data until correct receipt of the already transmitted data is acknowledged by the corresponding TCP functionality of the receiving communication device. Thus, a delay in a conveyance of TCP acknowledgments can result in the rapid filling up of a buffer storing data received from higher layers by a TCP sender, holding up further transmissions of data or possibly resulting in a discarding of data, and TCP data may be retransmitted even though the data has been correctly received at the TCP receiver of a receiving communication device, thus consuming limited system capacity.
Therefore a need exists for a method and an apparatus for facilitating an expedited exchange of TCP acknowledgments, thereby minimizing spurious timeouts at a TCP sender, reduced system throughput, buffer overflow, and excessive consumption of system capacity.
One of ordinary skill in the art will appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. For example, the dimensions of some of the elements in the figures may be exaggerated relative to other elements to help improve understanding of various embodiments of the present invention. Also, common and well-understood elements that are useful or necessary in a commercially feasible embodiment are often not depicted in order to facilitate a less obstructed view of these various embodiments of the present invention.